// package cn.niter.forum.config;
//
// import org.apache.catalina.Context;
// import org.apache.catalina.connector.Connector;
// import org.apache.tomcat.util.descriptor.web.SecurityCollection;
// import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
// import org.springframework.beans.factory.annotation.Value;
// import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
// import org.springframework.context.annotation.Bean;
// import org.springframework.context.annotation.Configuration;
//
// @Configuration
// public class HttpsConfig {
//
//     @Value("${server.custom.httpPort}")
//     private Integer httpPort;
//     @Value("${server.port}")
//     private Integer port;
//
// /*
// *若同时启用https与http访问，请开启这里的代码，与下方跳转二选一即可
//     @Bean
//     public ServletWebServerFactory serverFactory() {
//         TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
//         tomcat.addAdditionalTomcatConnectors(createStandardConnector());
//         return tomcat;
//     }
//
//     private Connector createStandardConnector() {
//         Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
//         connector.setPort(httpPort);
//         return connector;
//     }
// */
//
//     /**
//
//      * 访问80端口跳转433
//
//      * */
//
//     @Bean
//     public Connector connector(){
//         Connector connector=new Connector("org.apache.coyote.http11.Http11NioProtocol");
//         connector.setScheme("http");
//         //Connector监听的http的端口号
//         connector.setPort(httpPort);
//         connector.setSecure(false);
//         //监听到http的端口号后转向到的https的端口号
//         connector.setRedirectPort(port);
//         return connector;
//     }
//
//     @Bean
//     public TomcatServletWebServerFactory tomcatServletWebServerFactory(Connector connector){
//         TomcatServletWebServerFactory tomcat=new TomcatServletWebServerFactory(){
//             @Override
//             protected void postProcessContext(Context context) {
//                 SecurityConstraint securityConstraint=new SecurityConstraint();
//                 securityConstraint.setUserConstraint("CONFIDENTIAL");
//                 SecurityCollection collection=new SecurityCollection();
//                 collection.addPattern("/*");
//                 securityConstraint.addCollection(collection);
//                 context.addConstraint(securityConstraint);
//             }
//         };
//         tomcat.addAdditionalTomcatConnectors(connector);
//         return tomcat;
//     }
//
//
// }
//
